Parallel Computer Organization and Design by Michel Dubois & Murali Annavaram & Per Stenström

Parallel Computer Organization and Design by Michel Dubois & Murali Annavaram & Per Stenström

Author:Michel Dubois & Murali Annavaram & Per Stenström
Language: eng
Format: epub
ISBN: 9780521886758
Publisher: Cambridge University Press


Example 5.11

Assume that the local node issues a BusUpgr request for a block clean at the home node. As shown in Figure 5.20(c), the home node updates the directory and turns on the dirty bit. Then it clears the busy bit before responding to the local node with an UpgrAck response. Now assume that right after the busy bit is cleared, a BusRd request for the same block is received by the home node. The home node forwards this new request to the local node according to the transaction flow in Figure 5.20(b) by sending a RemRd request to the local node. If the RemRd request reaches the local node before the node has received the UpgrAck response according to Figure 5.20(c), the local node will not be able to process the RemRd request. How can this situation be resolved?

The problem is that the RemRd request reaches the local node before the UpgrAck response. This can happen if subtransactions between two nodes can follow different paths. If there is only a single path between two nodes, the RemRd request is received at the local node after the UpgrAck. In the case that this ordering property cannot be enforced, the directory cache protocol must be able to deal with such race conditions. One possible solution is to have the local node send a nack to the home node. Eventually, the local node will receive the UpgrAck response and will subsequently be able to handle the RemRd request, as in Figure 5.20(b).



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.